<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ClientesDao
 *
 * @author Francisco Nieto Zamora
 */
class EntradaCatalogoDao {
      public function mapearEntradasCatalogo($tab)
      {
        $lstEntradas = new ArrayList();
        for($i=0;$i<count($tab);$i++)
        {
            $entrada = new BeanEntradaCatalogo();
            if($tab[$i]['COD_IMAGEN']!=null && $tab[$i]['COD_IMAGEN']!=1 )
            {
                $entrada->setCodImagen($tab[$i]['RUTA']);
            }
            $entrada->setCodCatalogo($tab[$i]['COD_CATALOGO']);
            $entrada->setCodEntrada($tab[$i]['COD_ENTRADA']);
            $entrada->setDescripcion($tab[$i]['DESCRIPCION']);
            $entrada->setTitulo($tab[$i]['TITULO']);
            $lstEntradas->add($entrada);

        }
        return $lstEntradas;
      }



    public function obtenerEntradasCatalogoSQL($catalogo)
    {
        
        $sql='SELECT EC.*, I.* FROM ENTRADA_CATALOGO EC, IMAGENES I WHERE '.
            '(EC.COD_IMAGEN = I.COD_IMAGEN OR (EC.COD_IMAGEN IS NULL AND I.COD_IMAGEN=1))';

        if($catalogo->getCodImagen()!=null)
        {
            $sql=$sql." AND EC.COD_IMAGEN=".$catalogo->getCodImagen();
        }
        if($catalogo->getCodCatalogo()!=null)
        {
            $sql=$sql." AND EC.COD_CATALOGO=".$catalogo->getCodCatalogo();
        }
        if($catalogo->getCodEntrada()!=null)
        {
            $sql=$sql." AND EC.COD_ENTRADA=".$catalogo->getCodEntrada();
        }
        if($catalogo->getDescripcion()!=null)
        {
            $sql=$sql." AND EC.DESCRIPCION='".$catalogo->getDescripcion()."'";
        }

        if($catalogo->getTitulo()!=null)
        {
            $sql=$sql." AND EC.TITULO='".$catalogo->getTitulo()."'";
        }
        
        return $sql;
    }

    public function obtenerEntradasCatalogo($catalogo)
    {
        $sql = $this->obtenerEntradasCatalogoSQL($catalogo);
        $sqlQuery = new SqlQuery($sql);
        $tab=QueryExecutor::execute($sqlQuery);
        $lstCatalogo = $this->mapearEntradasCatalogo($tab);
        return $lstCatalogo;
    }
    
}
?>
